// 页面: 工作台-消防管理-巡检: 详情
const $app = getApp()
Page({
  data: {
    taskStatus: 0, // 完成or未完成
    display: 0, // 当前显示内容
    // ===== 参数 =====
    param: {
      taskNum: null // taskNum
    },
    fileKeys: ['sitePicture'],
    listDataKeys: [
      { k: 'taskStatus', listData: 'taskStatus' },
      { k: 'overDue', listData: 'overDue' },
      { k: 'checkResult', listData: 'checkResult' },
    ],
    billDataKeys: [
      { k: 'checkResult', listData: 'checkResult' }
    ],
    listData: {
      display: [{ id: 0, name: '基本信息'}, { id: 1, name: '验收日志'}],
      overDue: $app.listData.overDayStatus,
      taskStatus: $app.listData.taskStatus,
      checkResult: $app.listData.checkResult
    },
    // ===== 基础信息 相关数据 =====
    baseData: {}, // 基础信息
    baseInfo: [{ // 配置信息 企业
      title: '任务详情',
      data: {
        taskBatch: { name: '任务批次' },
        buildingName: { name: '楼宇名称' },
        buildingAddress: { name: '楼宇地址' },
        startTime: { name: '开始时间' },
        endTime: { name: '结束时间' },
        deviceNum: { name: '设施数量' },
        taskStatus: { name: '完成状态' },
        overDue: { name: '是否逾期' }
      }
    }],
    // ===== 巡检日志 相关数据 =====
    billData: {},
    billInfo: [{ // 配置信息 个人
      title: '验收详情',
      data: {
        checkDate: { name: '巡检日期' },
        checkPersonName: { name: '巡检人' },
        checkResult: { name: '巡检结果' },
        deviceNum: { name: '异常设施' },
        conditionExplain: { name: '情况说明' }
      }
    },{
      title: '现场情况',
      data: {
        sitePicture: { type: 'image', urlKey: 'sitePictureArr'},
      }
    }]
  },
  model (e) { $app.$common_wx.model(e, this) }, // 双向绑定
  // ========== 生命周期: 页面初次渲染完成 ==========
  onReady: function () {},
  // ========== 生命周期: 页面显示 ==========
  onShow: function () {},
  // ========== 生命周期: 页面隐藏 ==========
  onHide: function () {},
  // ========== 生命周期: 页面卸载 ==========
  onUnload: function () {},
  // ========== 生命周期: 页面加载 ==========
  onLoad: function (options) {
    if (!options.taskNum) return
    this.setData({
      taskStatus: options.taskStatus,
      ['param.taskNum']: options.taskNum
    })
    this.getBaseData() // 获取基本信息
  },
  // ========== '当前显示内容'改变时 ==========
  displayChange () {
    if (this.data.param.contractNum === 0) {
      this.getBaseData() // 获取基本信息
    } else {
      this.getBillData() // 获取验收日志
    }
  },
  // ========== 获取租户信息 ==========
  getBaseData () {
    if (this.data.baseData.id) return
    $app.$common.openLoading() // 开启加载
    $app.$api.checkTask.getDetail(this.data.param).then(({ data }) => {
      console.log('api-巡检基本信息', data)
      let newData = data || {}
      this.data.fileKeys.forEach(k => { newData[k + 'Arr'] = newData[k] ? newData[k].split(',') : [] })
      this.data.listDataKeys.forEach(b => { newData[b.k] = $app.$common.arrFindEl(this.data.listData[b.listData], newData[b.k], (b.valKey || 'id'), (b.labKey || 'name')) })
      this.setData({ baseData: newData })
      $app.$common.closeLoading() // 关闭加载
    }).catch(({ type, res }) => {})
  },
  // ========== 获取验收日志 ==========
  getBillData () {
    if (this.data.billData.id) return
    $app.$common.openLoading() // 开启加载
    $app.$api.checkTask.selectCheckDetail(this.data.param).then(({ data }) => {
      console.log('api-巡检日志', data)
      let newData = data || {}
      this.data.fileKeys.forEach(k => { newData[k + 'Arr'] = newData[k] ? newData[k].split(',') : [] })
      this.data.billDataKeys.forEach(b => { newData[b.k] = $app.$common.arrFindEl(this.data.listData[b.listData], newData[b.k], (b.valKey || 'id'), (b.labKey || 'name')) })
      this.setData({ billData: newData })
      $app.$common.closeLoading() // 关闭加载
    }).catch(({ type, res }) => {})
  }
})